#ifndef _Pythia6_H_
#define _Pythia6_H_

//
// Pythia6.h
//
// Created by TB on 12/6/11.
// Copyright 2011 BNL. All rights reserved.
//

namespace tppmc {
   
   class Configuration;
   
   /**
    Configures PYTHIA 6 according to an input Configuration.
    Access to PYTHIA 6 is provided via the ROOT singleton class TPythia6.
    \todo Primordial kT distribution in hadron (MSTP(91) = 1) is hard-coded to
    the range sqrt(0.25) to 3*sqrt(0.25) (PARP(91) and PARP(93)). This should
    be settable via the command line and be the same width passed to any
    sivers distribution.
    */
   class Pythia6 {
      
   public:
      
      /** Default constructor */
      Pythia6();
      
      /** Initialise using input user arguments */
      Pythia6(const Configuration&);
      
      /** Destructor */
      virtual ~Pythia6();
      
      /** Configure PYTHIA using input user arguments */
      virtual void Initialise(const Configuration&);
   };
   
} // namespace tppmc

#endif
